package handler

import (
	"github.com/gin-gonic/gin"
	"github.com/lab-online/internal/lab/valueobject"
)

// MimoPlotReqBody only for swagger
type MimoPlotReqBody struct {
	BaseLabReqBody
	Args valueobject.MimoPlot `json:"args" binding:"required"`
}

// MimoPlot MIMO仿真绘图
//
//	@Summary				MIMO仿真绘图
//	@Description.markdown	MimoPlot
//	@Tags					labs
//	@Tags					mimo
//	@Accept					json
//	@Produce				json
//	@Param					Authorization	header		string			true	"Bearer Token"
//	@Param					Body			body		MimoPlotReqBody	true	"JSON body"
//	@Failure				400				{object}	resp.BaseRespBody
//	@Failure				401				{object}	resp.BaseRespBody
//	@Security				bearer
//	@Router					/v1/labs/mimo-plot [post]
func (h *Handler) MimoPlot() gin.HandlersChain {
	return commonChain[valueobject.MimoPlot](h.domain.MimoPlot)
}
